#include <logger\LogManager.h>
#include <logger\LogManager.h>

void log_with_backend(const std::string& backend_name) {
  Logging::LogConfiguration config;
  config.backend_name = backend_name;
  // 为了在log4cplus中看到更详细的输出，我们使用它的格式
  if (backend_name == "log4cplus") {
    config.default_pattern = "[%D{%H:%M:%S}] [%-5p] [%c] %m%n";
  }

  Logging::LogManager::initialize(config);

  auto logger = Logging::LogManager::get_logger("App");
  logger->info("Testing with backend: " + backend_name);

  Logging::LogManager::shutdown();
  printf("");
}

// int main() {
//   // 场景1: 使用 spdlog
//   log_with_backend("spdlog");
//
//   // 场景2: 使用 log4cplus
//   log_with_backend("log4cplus");
//
//   return 0;
// }

/*
预期输出：
[HH:MM:SS.ms] [info] [App] Testing with backend: spdlog

[HH:MM:SS] [INFO ] [App] Testing with backend: log4cplus
*/